﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZhonTai.Industry.Services.WorkParamRecord.Dto.Output
{
    [ExcelExporter(Name = "产品加工参数记录列表", TableStyle = TableStyles.Light9, AutoFitAllColumn = true, AutoFitMaxRows = 5000)]
    public class WorkParamRecordExport
    {
        [ExporterHeader(DisplayName = "工艺记录序号", Format = "", ColumnIndex = 1)]
        public long Id { get; set; }

        /// <summary>
        /// 产品编号
        /// </summary>
        /// <remarks>产品编号</remarks>
        [ExporterHeader(DisplayName = "产品编号", Format = "", ColumnIndex = 2)]
        public string? ProductCode { get; set; }

        /// <summary>
        /// 工站Id
        /// </summary>
        [ExporterHeader(IsIgnore = true)]
        public long StationId { get; set; }

        /// <summary>
        /// 工站代号
        /// </summary>
        [ExporterHeader(DisplayName = "工站代号", Format = "", ColumnIndex = 3)]
        public string StationCode { get; set; }

        /// <summary>
        /// 工站名称
        /// </summary>
        [ExporterHeader(DisplayName = "工站名称", Format = "", ColumnIndex = 4)]
        public string StationName { get; set; }

        /// <summary>
        /// 产线代号
        /// </summary>
        [ExporterHeader(DisplayName = "产线代号", Format = "", ColumnIndex = 5)]
        public string LineCode { get; set; }

        /// <summary>
        /// 产线名称
        /// </summary>
        [ExporterHeader(DisplayName = "产线名称", Format = "", ColumnIndex = 6)]
        public string LineName { get; set; }

        /// <summary>
        /// 产品类型代号
        /// </summary>
        [ExporterHeader(DisplayName = "产品类型代号", Format = "", ColumnIndex = 7)]
        public string ProductModelCode { get; set; }

        /// <summary>
        /// 产品类型名称
        /// </summary>
        [ExporterHeader(DisplayName = "产品类型名称", Format = "", ColumnIndex = 8)]
        public string ProductModelName { get; set; }

        /// <summary>
        /// 工艺名称
        /// </summary>
        /// <remarks>工艺名称</remarks>
        [ExporterHeader(DisplayName = "工艺名称", Format = "", ColumnIndex = 9)]
        public string? ParameterName { get; set; }

        /// <summary>
        /// 工艺参数
        /// </summary>
        /// <remarks>工艺参数</remarks>
        [ExporterHeader(DisplayName = "工艺参数", Format = "", ColumnIndex = 10)]
        public string? ParameterValue { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        /// <remarks>单位</remarks>
        [ExporterHeader(DisplayName = "单位", Format = "", ColumnIndex = 11)]
        public string? Unit { get; set; }

        /// <summary>
        /// 上限值
        /// </summary>
        /// <remarks>上限值</remarks>
        [ExporterHeader(DisplayName = "上限值", Format = "", ColumnIndex = 12)]
        public decimal UpperLimit { get; set; }

        /// <summary>
        /// 下限值
        /// </summary>
        /// <remarks>下限值</remarks>
        [ExporterHeader(DisplayName = "下限值", Format = "", ColumnIndex = 13)]
        public decimal LowerLimit { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        /// <remarks>状态</remarks>
        [ExporterHeader(DisplayName = "状态", Format = "", ColumnIndex = 14)]
        public string? Status { get; set; }

        /// <summary>
        /// 上传标识
        /// </summary>
        /// <remarks>上传标识</remarks>
        [ExporterHeader(DisplayName = "上传标识", Format = "", ColumnIndex = 15)]
        public bool Upload { get; set; }

        /// <summary>
        /// 记录时间
        /// </summary>
        /// <remarks>记录时间</remarks>
        [ExporterHeader(DisplayName = "记录时间", Format = "yyyy-MM-dd HH:mm:ss", ColumnIndex = 16)]
        public DateTime? CreatedTime { get; set; }
    }
}